<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../print.css" type="text/css" media="print">
<meta content="DefaultDIContainer,com.anywebcam.di.DefaultDIContainer,defaultOptions,defaultInjectionTypeToDIComponentMap,options,injectionTypeToDIComponentMap,components,register,registerComponent,registerInstance,registerType,getInstance,getInstanceByKey,getInstanceByType,getComponent,unregisterComponent,hasComponent,mergeObjects,toString" name="keywords">
<title>com.anywebcam.di.DefaultDIContainer</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'DefaultDIContainer - API Documentation';
				var baseRef = '../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">API Documentation</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../index-list.html')" href="../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../index.html?com/anywebcam/di/DefaultDIContainer.html&amp;com/anywebcam/di/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;DefaultDIContainer</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class DefaultDIContainer"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.anywebcam.di</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class DefaultDIContainer</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implements</td><td><a href="DIContainer.html">DIContainer</a></td>
</tr>
</table>
<p></p>
  Default Implementation of DIContainer
  
  <p></p>
<br>
<span class="label">Example</span>
<br>
  <div class='listing'><pre>
  package
  {
   import com.anywebcam.di.
  
   import mx.core.Application; 
  
   public class MyApp extends Application
   {
    public var container:DIContainer;
  
    public function MyApp()
    {
     super();
     container = new DefaultDIContainer();
  
     // register your components
     container.register( DIContainer, container );
     container.register( Stage, stage );
     container.register( FrontController, MyFrontController );
     container.register( ModelLocator, MyAppModelLocator );
    }
   }
  }
  </pre></div>
  <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#components">components</a> : Array<div class="summaryTableDescription">[read-only]
   Returns all the registered Components
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#defaultInjectionTypeToDIComponentMap">defaultInjectionTypeToDIComponentMap</a> : Object<div class="summaryTableDescription">[static]
   Default map of injectionType to DIComponent implementations.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#defaultOptions">defaultOptions</a> : Object<div class="summaryTableDescription">[static]
   Default options for all DefaultDIContainers.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#injectionTypeToDIComponentMap">injectionTypeToDIComponentMap</a> : Object<div class="summaryTableDescription">
   Map of the injection type strings to the Class to instantiate for that injection type
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#options">options</a> : Object<div class="summaryTableDescription">
   An Object literal specifying whether instance caching is enabled, and what injection type to use by default.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#DefaultDIContainer()">DefaultDIContainer</a>(options:Object = null, injectionTypeToDIComponentMap:Object = null)</div>
<div class="summaryTableDescription">
   Constructor
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getComponent()">getComponent</a>(key:<a href="">Object</a>):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Get a Component by its key
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getInstance()">getInstance</a>(key:<a href="">Object</a>):Object</div>
<div class="summaryTableDescription">
   Requests the container to provide an implementation of the supplied interface/class or key identifier.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getInstanceByKey()">getInstanceByKey</a>(key:<a href="">Object</a>):Object</div>
<div class="summaryTableDescription">
   Requests the container to provide an implementation of the supplied key identifier.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getInstanceByType()">getInstanceByType</a>(type:<a href="">Class</a>):Object</div>
<div class="summaryTableDescription">
   Requests the container to provide an implementation of the supplied interface/class.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#hasComponent()">hasComponent</a>(keyOrType:<a href="">Object</a>):Boolean</div>
<div class="summaryTableDescription">
   Indicates if there is a component with the key or type in this container
      </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#register()">register</a>(... args):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Registers an implementation or an instance with this container.</div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerComponent()">registerComponent</a>(component:<a href="DIComponent.html">DIComponent</a>, ... args):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Registers a Component
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerInstance()">registerInstance</a>(key:<a href="">Object</a>, instance:<a href="">Object</a>, ... args):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Registers an instance
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerType()">registerType</a>(key:<a href="">Object</a>, type:<a href="">Class</a>, ... args):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Registers an implementation
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#toString()">toString</a>():String</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unregisterComponent()">unregisterComponent</a>(component:<a href="DIComponent.html">DIComponent</a>):<a href="DIComponent.html">DIComponent</a>
</div>
<div class="summaryTableDescription">
   Unregisters an instance from the container
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#mergeObjects()">mergeObjects</a>(a:Object, b:Object):Object</div>
<div class="summaryTableDescription">
   Merges two simple Objects together into a new Object, values from a are overwritten by values from b
   
   </div>
</td><td class="summaryTableOwnerCol">DefaultDIContainer</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="components"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">components</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>components:Array</code>&nbsp;&nbsp;[read-only]<p>
   Returns all the registered Components
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get components():Array</code>
<br>
</div>
<a name="defaultInjectionTypeToDIComponentMap"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">defaultInjectionTypeToDIComponentMap</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static var defaultInjectionTypeToDIComponentMap:Object</code><p>
   Default map of injectionType to DIComponent implementations. 
   </p><p>Additional components can be registered to handle different cases if necessary.</p>
   <p>Defaults are: <ul><li>'setter': SetterInjectionComponent</li><li>'constructor': ConstructorInjectionComponent</li></ul></p>
   <p>Changes will affect NEW DefaultDIContainers only, except when changing the options or injectionTypeToDIComponentMap instance properties.</p>
      <p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="component/SetterInjectionComponent.html" target="">com.anywebcam.di.component.SetterInjectionComponent</a>
<br>
<a href="component/ConstructorInjectionComponent.html" target="">com.anywebcam.di.component.ConstructorInjectionComponent</a>
</div>
<br>
<span class="label">Example</span>
<br><div class='listing'><pre>DefaultDIContainer.defaultInjectionTypeToDIComponentMap = { 'setter' : MyCustomSetterInjectionComponent }; </pre></div>
   <p></p>
</div>
<a name="defaultOptions"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">defaultOptions</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static var defaultOptions:Object</code><p>
   Default options for all DefaultDIContainers. 
   </p><p>Used when container.options is not specified, or required options are not available on the container.options.</p>
   <p>Defaults are: instance cache enabled, and use setter injection. </p>
   <p>Changes will affect NEW DefaultDIContainers only, except when changing the options or injectionTypeToDIComponentMap instance properties.</p>
   
   <br>
<span class="label">Example</span>
<br><div class='listing'><pre>DefaultDIContainer.defaultOptions = { cache: false, injectionType: 'constructor'}; </pre></div>
   <p></p>
</div>
<a name="injectionTypeToDIComponentMap"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">injectionTypeToDIComponentMap</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>injectionTypeToDIComponentMap:Object</code>&nbsp;&nbsp;[read-write]<p>
   Map of the injection type strings to the Class to instantiate for that injection type
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get injectionTypeToDIComponentMap():Object</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set injectionTypeToDIComponentMap(value:Object):void</code>
<br>
<br>
<span class="label">Example</span>
<br><div class='listing'><pre>container.injectionTypeToDIComponentMap = { 'setter' : MyCustomSetterInjectionComponent }; </pre></div>
   <p></p>
</div>
<a name="options"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">options</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>options:Object</code>&nbsp;&nbsp;[read-write]<p>
   An Object literal specifying whether instance caching is enabled, and what injection type to use by default. 
      </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get options():Object</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set options(value:Object):void</code>
<br>
<br>
<span class="label">Example</span>
<br><div class='listing'><pre>container.options = { cache: false, injectionType: 'constructor'}; </pre></div>
   <p></p>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="DefaultDIContainer()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">DefaultDIContainer</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function DefaultDIContainer(options:Object = null, injectionTypeToDIComponentMap:Object = null)</code><p>
   Constructor
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">options</span>:Object</code> (default = <code>null</code>)<code></code> &mdash; An Object literal specifying cache: true | false, and injectionType: 'constructor' | 'setter'
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">injectionTypeToDIComponentMap</span>:Object</code> (default = <code>null</code>)<code></code> &mdash; An Object literal specifying DIComponent subclasses to use for each injectionType, overrides the defaultInjectionTypeToDIComponentMap
   </td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="getComponent()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getComponent</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function getComponent(key:<a href="">Object</a>):<a href="DIComponent.html">DIComponent</a></code><p>
   Get a Component by its key
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">key</span>:<a href="">Object</a></code> &mdash; The key (String identifier, Class or interface) used to register the component
    </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code> &mdash; 
                        The Component registered with the specified key, or null
   
                        
                     </td>
</tr>
</table>
</div>
<a name="getInstance()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getInstance</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getInstance(key:<a href="">Object</a>):Object</code><p>
   Requests the container to provide an implementation of the supplied interface/class or key identifier. 
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">key</span>:<a href="">Object</a></code> &mdash; The interface or class which the returned object must implement
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Object</code> &mdash; An instance of the key implementation
   </td>
</tr>
</table>
</div>
<a name="getInstanceByKey()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getInstanceByKey</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getInstanceByKey(key:<a href="">Object</a>):Object</code><p>
   Requests the container to provide an implementation of the supplied key identifier. 
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">key</span>:<a href="">Object</a></code> &mdash; The key identifier for which to return an instance of 
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Object</code> &mdash; An instance of the key implementation
   </td>
</tr>
</table>
</div>
<a name="getInstanceByType()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getInstanceByType</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getInstanceByType(type:<a href="">Class</a>):Object</code><p>
   Requests the container to provide an implementation of the supplied interface/class. 
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">type</span>:<a href="">Class</a></code> &mdash; The Interface or Class which the returned object must implement
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Object</code> &mdash; An instance of the type implementation
   </td>
</tr>
</table>
</div>
<a name="hasComponent()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">hasComponent</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function hasComponent(keyOrType:<a href="">Object</a>):Boolean</code><p>
   Indicates if there is a component with the key or type in this container
      </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">keyOrType</span>:<a href="">Object</a></code> &mdash; The key (String identifier, Class or interface) user to register the component
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code> &mdash; True the this container contains a component for that key or type, false otherwise.
   </td>
</tr>
</table>
</div>
<a name="mergeObjects()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">mergeObjects</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function mergeObjects(a:Object, b:Object):Object</code><p>
   Merges two simple Objects together into a new Object, values from a are overwritten by values from b
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">a</span>:Object</code> &mdash; A simple Object
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">b</span>:Object</code> &mdash; A simple Object
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Object</code> &mdash; A new simple Object with the properties and values from a & b
   </td>
</tr>
</table>
</div>
<a name="register()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">register</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function register(... args):<a href="DIComponent.html">DIComponent</a></code><p>
   Registers an implementation or an instance with this container. 
   This is the preferred method for registering classes and instances.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code>... <span class="label">args</span></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code> &mdash; 
                        The Component  for the registered component
   
   
                        
                     </td>
</tr>
</table>
</div>
<a name="registerComponent()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerComponent</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerComponent(component:<a href="DIComponent.html">DIComponent</a>, ... args):<a href="DIComponent.html">DIComponent</a></code><p>
   Registers a Component
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">component</span>:<a href="DIComponent.html">DIComponent</a></code> &mdash; The DIComponent instance
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code>... <span class="label">args</span></code> &mdash; Additional parameters to be used by the DIContainer
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code> &mdash; 
                        The Component for the registered component
   
                        
                     </td>
</tr>
</table>
</div>
<a name="registerInstance()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerInstance</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerInstance(key:<a href="">Object</a>, instance:<a href="">Object</a>, ... args):<a href="DIComponent.html">DIComponent</a></code><p>
   Registers an instance
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">key</span>:<a href="">Object</a></code> &mdash; The name used internally to identify this instance
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">instance</span>:<a href="">Object</a></code> &mdash; The object that is being registered
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code>... <span class="label">args</span></code> &mdash; Additional parameters to be used by the 
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code> &mdash; 
                        The Component for the registered component
   
                        
                     </td>
</tr>
</table>
</div>
<a name="registerType()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerType</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerType(key:<a href="">Object</a>, type:<a href="">Class</a>, ... args):<a href="DIComponent.html">DIComponent</a></code><p>
   Registers an implementation
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">key</span>:<a href="">Object</a></code> &mdash; The name used to identify this implementation
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">type</span>:<a href="">Class</a></code> &mdash; The class implementation
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code>... <span class="label">args</span></code> &mdash; Additional parameters to be used by the Component
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code> &mdash; 
                        The Component for the registered component
   
                        
                     </td>
</tr>
</table>
</div>
<a name="toString()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">toString</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function toString():String</code>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>String</code></td>
</tr>
</table>
</div>
<a name="unregisterComponent()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unregisterComponent</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function unregisterComponent(component:<a href="DIComponent.html">DIComponent</a>):<a href="DIComponent.html">DIComponent</a></code><p>
   Unregisters an instance from the container
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">component</span>:<a href="DIComponent.html">DIComponent</a></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="DIComponent.html">DIComponent</a></code></td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
